using Identity.Application.Contracts.Common;

namespace Identity.Application.Contracts.Services;


public interface IUserRoleService
{
    Task<OperationResult> AssignRoleAsync(Guid userId, Guid roleId);
    Task<OperationResult> RemoveRoleAsync(Guid userId, Guid roleId);
    Task<IList<string>> GetUserRolesAsync(Guid userId);
    Task<IList<UserDto>> GetUsersInRoleAsync(Guid roleId);
    Task<bool> AddRolesAsync(Guid userId, List<Guid> RoleIds);
    Task<bool> ReplaceRolesAsync(Guid userId, List<Guid> newRoleIds);
}